home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / hf^k-6.dms / in.adf / Install.run / GOLDEDDATA / arexx / func.ged < prev    next >
Encoding:
Text File  |  1996-11-10  |  3.5 KB  |  153 lines

  1. /* $VER: 1.0, ©1996 Dietmar Eilert. Insert empty function body         */
  2.  
  3. OPTIONS RESULTS                             /* enable return codes     */
  4.  
  5. arg doComment doFold                        /* set to TRUE/FALSE       */
  6.  
  7. OPTIONS RESULTS                             /* enable return codes     */
  8.  
  9. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  10.     address 'GOLDED.1'
  11.  
  12. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  13.  
  14. if (RC ~= 0) then
  15.     exit
  16.  
  17. OPTIONS FAILAT 6                            /* ignore warnings         */
  18.  
  19. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  20.  
  21. /* ------------------------- INSERT YOUR CODE HERE: ------------------ */
  22.  
  23. 'QUERY CAT'
  24.  
  25. if (RESULT = "deutsch") then do
  26.  
  27.     ASKNAME = "Funktionsname (z.B. main) ?"
  28.     ASKTYPE = "Funktionstyp"
  29.     FTYPES  = "!VOID|_int|_char **|_UWORD|_Anderer"
  30.  
  31.     COMMENT = " Kommentar:"
  32. end
  33. else if (RESULT = "français") then do
  34.     ASKNAME = "Nom de la fonction (ex: main) ?"
  35.     ASKTYPE = "Type de fonction"
  36.     FTYPES  = "!VOID|_int|_char **|_UWORD|_Autre"
  37.     COMMENT = " Commentaire:"
  38. end
  39. else do
  40.  
  41.     ASKNAME = "function name (e.g. main) ?" 
  42.     ASKTYPE = "function type"
  43.     FTYPES  = "!VOID|_int|_char **|_UWORD|_Other"
  44.     COMMENT = " Comment:"
  45. end
  46.  
  47. 'REQUEST TITLE "' || ASKNAME || '" STRING VAR NAME'
  48.  
  49. if (RC = 0) then do
  50.  
  51.     'REQUEST BODY="' || ASKTYPE || " " || NAME || '() ?" BUTTON="' || FTYPES || '"'
  52.  
  53.     if (RC = 0) then do
  54.  
  55.         TYPE = "void"
  56.  
  57.         if (RESULT = 0) then
  58.  
  59.             'REQUEST TITLE "' || ASKTYPE || ' ?" STRING VAR TYPE'
  60.  
  61.         else if (RESULT = 4) then
  62.  
  63.             TYPE = "UWORD"
  64.  
  65.         else if (RESULT = 3) then
  66.  
  67.             TYPE = "char *"
  68.  
  69.         else if (RESULT = 2) then
  70.  
  71.             TYPE = "int"
  72.  
  73.         /* replace single '*' by '**' (required by parser) */
  74.  
  75.         'FIX VAR=TYPE'
  76.  
  77.         if (RC = 0) then do
  78.  
  79.             'QUERY FOLDA VAR FOLDSTART'
  80.             'QUERY FOLDB VAR FOLDEND'
  81.  
  82.             'INSERT LINE'
  83.  
  84.             if (doComment = 'TRUE') then do
  85.  
  86.                HEAD  = '/** ' || CENTER(' ' || NAME || ' ', 77, '-')
  87.  
  88.                 if (doFold = 'TRUE') then do
  89.  
  90.                     'FIRST'
  91.                     'TEXT T="' || FOLDSTART || ' "'
  92.                      'TEXT T="*"' || NAME || '*""'
  93.                     'CR'
  94.                     'CR'
  95.                 end
  96.  
  97.                 'FIRST'
  98.                 'TEXT CR T="' || LEFT(HEAD, 81) || '"'
  99.                 'CR'
  100.                 'FIRST'
  101.                 'TEXT CR T="' || COMMENT || '"'
  102.                 'CR'
  103.                 'FIRST'
  104.                 'TEXT CR T="**/"'
  105.                 'CR'
  106.             end
  107.             else if (doFold = 'TRUE') then do
  108.  
  109.                 'FIRST'
  110.                 'TEXT T="' || FOLDSTART || ' "'
  111.                  'TEXT T="*"' || NAME || '*""'
  112.                 'CR'
  113.                 'CR'
  114.             end
  115.  
  116.             'FIRST'
  117.             'TEXT CR T="' || TYPE || '"'
  118.             'TEXT CR T="' || NAME || '()"'
  119.             'TEXT CR T={'
  120.             'FIRST'                                  
  121.             'TAB'
  122.             'PING SLOT 0'
  123.             'FIRST'
  124.             'DOWN'
  125.             'TEXT CR T=}'
  126.  
  127.             if (doFold = 'TRUE') then do
  128.  
  129.                 'CR'
  130.                 'FIRST'
  131.                 ' TEXT CR T="' || FOLDEND || '"'
  132.             end
  133.  
  134.             'PONG SLOT 0'
  135.         end
  136.     end
  137.  
  138. end
  139.  
  140. /* ---------------------------- END OF YOUR CODE ----------------------- */
  141.  
  142. 'UNLOCK' /* VERY important: unlock GUI */
  143.  
  144. exit
  145.  
  146. SYNTAX:
  147.  
  148. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  149.  
  150. 'UNLOCK'
  151.  
  152. exit
  153.